﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Practices.Unity;
using Triunfadores.BusinessEntities;
using System.Web.ModelBinding;
using Triunfadores.BusinessLogic.Service;

namespace Triunfadores.Web.Prestamos
{
    public partial class GestionarSolicitudPrestamos : System.Web.UI.Page
    {
        #region DECLARACION DE DEPENDENCIAS

        [Dependency]
        public ITipoClienteService TipoClienteService { get; set; }

        [Dependency]
        public ISolicitudPrestamoService SolicitudPrestamoService { get; set; }

        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {

        }

        public IEnumerable<TipoCliente> TraerTiposCliente()
        {
            var tiposCliente = TipoClienteService.GetAllTiposCliente().ToList();

            tiposCliente.Insert(0, new TipoCliente() { Id = 0, Tipo = "[- Selecciona -]" });

            return tiposCliente.AsEnumerable();

            //return AmbienteBL.GetAllFromAmbientes();
        }

        public IQueryable<SolicitudPrestamo> TraerSolicitudesPrestamos([Control("tbxCriterio")]string criterio,
                                             [Control("ddlTipoCliente")]int? idTipoCliente,
                                              [Control("tbxFechInicial")]DateTime? fechInicial,
                                              [Control("tbxFechFinal")]DateTime? fechFinal)
        {
            return
                SolicitudPrestamoService.ObtenerTodasLasSolicitudesDePrestamosPorCriterioTipoClienteYFechas(criterio, idTipoCliente, fechInicial, fechFinal)
                    .AsQueryable();
        }

    }
}